#ifndef JEU_H
#define JEU_H

#include <QtCore/QObject>

#include "../Application/global.h"
#include "plateau.h"

class Joueur;

class Jeu : public QObject {

	Q_OBJECT

public:
	Jeu();
	virtual ~Jeu();

public slots:
	void init(QString pJoueur1, Types::TypesJoueurs pTypeJoueur1, QString pJoueur2, Types::TypesJoueurs pTypeJoueur2);

signals:
	void sig_init(Joueur* pJoueur1, Joueur* pJoueur2);
	void sig_tour(Joueur* pJoueur);
	void sig_nbGrainesModifies(int pNumCase, int pNouveauNombre);
	void sig_tourJoue(int pNumCase, int pNumJoueur);
	void sig_partieFinie(Joueur* pGagnant, Joueur* pPerdant);
	void sig_quitter();

private:
	Joueur*		m_j1;
	Joueur*		m_j2;
	Plateau		m_plateau;

	Joueur*		creerJoueur(const QString& pNom, Types::TypesJoueurs pTypeJoueur, int pNumero);
	void		lancer();
};

#endif // JEU_H
